//
// Created by dgy on 2023/1/8.
//
#include "iostream"
#include "vector"
using namespace std;
/*
 * string::size_type从本质上来说，是一个整型数。
 * 关键是由于机器的环境，它的长度有可能不同。
 * 例如：我们在使用 string::find的函数的时候，
 * 它返回的类型就是 string::size_type类型。
 * 而当find找不到所要找的字符的时候，它返回的是 npos的值，这个值是与size_type相关的。
 * 假如，你是用 string s; int rc = s.find(.....); 然后判断，if ( rc == string::npos ) 这样在不同的机器平台上表现就不一样了。
 * 如果，你的平台的string::size_type的长度正好和int相匹配，那么这个判断会侥幸正确。但换成另外的平台，有可能 string::size_type的类型是64位长度的，那么判断就完全不正确了。
 * 所以，正确的应该是： string::size_type rc = s.find(.....); 这个时候使用 if ( rc == string::npos )就回正确了。
*/
int prefixCount(vector<string> words,string pref){
    int n=words.size(),n1=pref.size();
    int t=0;
/* 简单的做法：
 * for(string &word:words){
        if (word.compare(0,pref.size(),pref)==0){
            t++;
        }
    }*/
    for (int i = 0; i < n; ++i) {
        if (words[i].size()<pref.size())
            continue;
        string s="";
        for (int j = 0; j < n1; ++j) {
            s+=words[i].at(j);
        }
        string::size_type idx=s.find(pref);
        if (idx==string::npos)
            continue;
        else
            t++;
    }
    return t;
}

